Incrementalization of Static Analyses
نویسندگان
چکیده
Modern development environments integrate various static analyses into the build process. Analyses that require the analysis of the whole project whenever the project changes are impractical in this context. Manual incrementalization is elaborate, in particular if the set of analyses is supposed to be extensible. We present an approach to automatic incrementalization of analyses that are specified as logic queries and evaluated using incremental tabled evaluation, a technique for incremental evaluation of logic programs. The approach has been implemented and integrated into the Eclipse IDE. Our measurements show that this technique is effective for a broad range of static analyses.
منابع مشابه
Scalable automated incrementalization for real-time static analyses=Skalierbare automatische Inkrementalisierung für statische Analysen in Echtzeit
This thesis proposes a framework for easy development of static analyses, whose results are incrementalized to provide instantaneous feedback in an integrated development environment (IDE). Today, IDEs feature many tools that have static analyses as their foundation to assess software quality and catch correctness problems. Yet, these tools often fail to provide instantaneous feedback and are t...
متن کاملAutomatic Incrementalization of Static Analyses
Modern development environments integrate various static analyses into the build process. But, analyses that analyze the whole project whenever the project changes are impractical in this context. We present an approach to automatic incrementalization of analyses that are specified as tabled logic programs and evaluated using incremental tabled evaluation, a technique for efficiently updating m...
متن کاملAutomatic Incrementalization of Prolog Based Static Analyses
Modern development environments integrate various static analyses into the build process. Analyses that analyze the whole project whenever the project changes are impractical in this context. We present an approach to automatic incrementalization of analyses that are specified as tabled logic programs and evaluated using incremental tabled evaluation, a technique for efficiently updating memo t...
متن کاملDynamic Programming via Static Incrementalization
Dynamic programming is an important algorithm design technique. It is used for solving problems whose solutions involve recursively solving subproblems that share subsubproblems. While a straightforward recursive program solves common subsubproblems repeatedly and often takes exponential time, a dynamic programming algorithm solves every subsubproblem just once, saves the result, reuses it when...
متن کاملPull-Ups, Push-Downs, and Passing It Around - Exercises in Functional Incrementalization
Programs in functional programming languages with algebraic datatypes are often datatype-centric and use folds or fold-like functions. Incrementalization of such a program can significantly improve its performance. Functional incrementalization separates the recursion from the calculation and significantly reduces redundant computation. In this paper, we motivate incrementalization with a simpl...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006